home *** CD-ROM | disk | FTP | other *** search
/ Aminet 4 / Aminet 4 - November 1994.iso / aminet / dev / obero / oberon_lib.lha / oberon-a / source1.lha / source / Amiga / MathIEEEDoubTrans.mod < prev    next >
Text File  |  1994-08-08  |  4KB  |  178 lines

  1. (**************************************************************************
  2.  
  3.      $RCSfile: MathIEEEDoubTrans.mod $
  4.   Description: Interface to mathieeedoubtrans.library
  5.  
  6.    Created by: fjc (Frank Copeland)
  7.     $Revision: 3.2 $
  8.       $Author: fjc $
  9.         $Date: 1994/08/08 00:42:24 $
  10.  
  11.   Includes Release 40.15
  12.  
  13.   (C) Copyright 1985-1993 Commodore-Amiga, Inc.
  14.       All Rights Reserved
  15.  
  16.   Oberon-A interface Copyright © 1994, Frank Copeland.
  17.   This file is part of the Oberon-A Interface.
  18.   See Oberon-A.doc for conditions of use and distribution.
  19.  
  20. ***************************************************************************)
  21.  
  22. MODULE MathIEEEDoubTrans;
  23.  
  24. (*
  25.  
  26.   This module is not defined.  This is because the compiler cannot yet
  27.   handle the LONGREAL as an 8-byte IEEE double-precision real.
  28.   Patience.
  29.  
  30. *)
  31.  
  32. (*
  33. (*
  34. ** $C- CaseChk       $I- IndexChk  $L+ LongAdr   $N- NilChk
  35. ** $P- PortableCode  $R- RangeChk  $S- StackChk  $T- TypeChk
  36. ** $V- OvflChk       $Z- ZeroVars
  37. *)
  38.  
  39. IMPORT SYS := SYSTEM, E := Exec, M := MathLibrary;
  40.  
  41.  
  42. (*-- MathIEEEDoubTrans Base variable --------------------------------------*)
  43.  
  44. TYPE
  45.  
  46.   MathIEEEDoubTransBasePtr * = CPOINTER TO MathIEEEDoubTransBase;
  47.   MathIEEEDoubTransBase * = RECORD (M.MathIEEEBase) END;
  48.  
  49. CONST
  50.  
  51.   Name * = "mathieeedoubtrans.library";
  52.   mathIEEEDoubTransName * = Name;
  53.  
  54. VAR
  55.  
  56.   Base * : MathIEEEDoubTransBasePtr;
  57.  
  58.  
  59. (*-- Library Functions ------------------------------------------------*)
  60.  
  61. LIBCALL (base : MathIEEEDoubTransBasePtr) Atan  *
  62.   ( parm [0] : E.DOUBLE )
  63.   : E.DOUBLE;
  64.   - 30;
  65.  
  66. LIBCALL (base : MathIEEEDoubTransBasePtr) Sin   *
  67.   ( parm [0] : E.DOUBLE )
  68.   : E.DOUBLE;
  69.   - 36;
  70.  
  71. LIBCALL (base : MathIEEEDoubTransBasePtr) Cos   *
  72.   ( parm [0] : E.DOUBLE )
  73.   : E.DOUBLE;
  74.   - 42;
  75.  
  76. LIBCALL (base : MathIEEEDoubTransBasePtr) Tan   *
  77.   ( parm [0] : E.DOUBLE )
  78.   : E.DOUBLE;
  79.   - 48;
  80.  
  81. LIBCALL (base : MathIEEEDoubTransBasePtr) Sincos*
  82.   ( VAR cos[8] : E.DOUBLE;
  83.     parm [0]   : E.DOUBLE )
  84.    : E.DOUBLE;
  85.   - 54;
  86.  
  87. LIBCALL (base : MathIEEEDoubTransBasePtr) Sinh  *
  88.   ( parm [0] : E.DOUBLE )
  89.   : E.DOUBLE;
  90.   - 60;
  91.  
  92. LIBCALL (base : MathIEEEDoubTransBasePtr) Cosh  *
  93.   ( parm [0] : E.DOUBLE )
  94.   : E.DOUBLE;
  95.   - 66;
  96.  
  97. LIBCALL (base : MathIEEEDoubTransBasePtr) Tanh  *
  98.   ( parm [0] : E.DOUBLE )
  99.   : E.DOUBLE;
  100.   - 72;
  101.  
  102. LIBCALL (base : MathIEEEDoubTransBasePtr) Exp   *
  103.   ( parm [0] : E.DOUBLE )
  104.   : E.DOUBLE;
  105.   - 78;
  106.  
  107. LIBCALL (base : MathIEEEDoubTransBasePtr) Log   *
  108.   ( parm [0] : E.DOUBLE )
  109.   : E.DOUBLE;
  110.   - 84;
  111.  
  112. LIBCALL (base : MathIEEEDoubTransBasePtr) Pow   *
  113.   ( exp  [1] : E.DOUBLE;
  114.     parm [0] : E.DOUBLE )
  115.   : E.DOUBLE;
  116.   - 90;
  117.  
  118. LIBCALL (base : MathIEEEDoubTransBasePtr) Sqrt  *
  119.   ( parm [0] : E.DOUBLE )
  120.   : E.DOUBLE;
  121.   - 96;
  122.  
  123. LIBCALL (base : MathIEEEDoubTransBasePtr) Tieee *
  124.   ( parm [0] : E.DOUBLE )
  125.   : E.SINGLE;
  126.   - 102;
  127.  
  128. LIBCALL (base : MathIEEEDoubTransBasePtr) Fieee *
  129.   ( parm [0] : E.SINGLE )
  130.   : E.DOUBLE;
  131.   - 108;
  132.  
  133. LIBCALL (base : MathIEEEDoubTransBasePtr) Asin  *
  134.   ( parm [0] : E.DOUBLE )
  135.   : E.DOUBLE;
  136.   - 114;
  137.  
  138. LIBCALL (base : MathIEEEDoubTransBasePtr) Acos  *
  139.   ( parm [0] : E.DOUBLE )
  140.   : E.DOUBLE;
  141.   - 120;
  142.  
  143. LIBCALL (base : MathIEEEDoubTransBasePtr) Log10 *
  144.   ( parm [0] : E.DOUBLE )
  145.   : E.DOUBLE;
  146.   - 126;
  147.  
  148. (*-- Library Base variable --------------------------------------------*)
  149. (* $L- Address globals through A4 *)
  150.  
  151.  
  152. (*-----------------------------------*)
  153. PROCEDURE* CloseLib ();
  154.  
  155. BEGIN (* CloseLib *)
  156.   IF Base # NIL THEN E.Base.CloseLibrary (Base) END
  157. END CloseLib;
  158.  
  159. (*-----------------------------------*)
  160. PROCEDURE OpenLib * ();
  161.  
  162. BEGIN (* OpenLib *)
  163.   IF Base = NIL THEN
  164.     Base :=
  165.       SYS.VAL
  166.         ( MathIEEEDoubTransBasePtr,
  167.           E.Base.OpenLibrary (Name, E.libraryMinimum) );
  168.     IF Base = NIL THEN HALT (100) END;
  169.     SYS.SETCLEANUP (CloseLib)
  170.   END;
  171. END OpenLib;
  172.  
  173.  
  174. BEGIN
  175.   Base := NIL
  176. *)
  177. END MathIEEEDoubTrans.
  178.